package com.efast.cafe.portal.service.doc;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.efast.cafe.portal.bean.doc.DocGroupUserAuthFormBean;
import com.efast.cafe.portal.bean.doc.DocGroupUserAuthQueryBean;
import com.efast.cafe.portal.bean.doc.DocGroupUserAuthResBean;
import com.efast.cafe.portal.bean.doc.DocUserAuthResBean;
import com.efast.cafe.portal.entity.doc.DocPurview;


public interface IDocAuthService {
	
	/**
	 * 查询组下的授权用户以及授权权限
	 * @param userinfo
	 * @return
	 */
	public List<DocGroupUserAuthResBean> queryGroupUserAuthList(DocGroupUserAuthQueryBean queryBean);
	
	/**
	 * 查询所有文档操作权限 对用户存在的权限标识isChecked为1
	 * @param companyCode
	 * @param username
	 * @param groupId
	 * @return
	 */
	public List<DocUserAuthResBean> queryUserAuthDetail(Integer groupId);

	/**
	 * 清除一个用户在一个组中的授权
	 * @param companyCode
	 * @param username
	 * @param groupId
	 */
	public void deleteUserAuth(List<String> usernames,Integer groupId);
	
	/**
	 * 保存用户文档权限
	 * @param bean
	 */
	public void saveUserAuth(DocGroupUserAuthFormBean bean);
	/**
	 * 查看权限列表
	 * @param type
	 * @return
	 */
	public List<DocPurview> queryDocPurview(String type);
	/**
	 * 修改一个用户在一个组中的授权
	 * @return
	 */
	public void updateByUserAuth(DocGroupUserAuthFormBean bean);
	
	/**
	 * 查看一个用户在一个组中的授权
	 * @return
	 */
	public List<DocUserAuthResBean> detailByUserAuth(DocGroupUserAuthFormBean bean);

}
